package com.cdks.wuxiu.api.service;

import java.util.List;

import com.cdks.wuxiu.entity.message.ChatPrivateData;
import com.cdks.wuxiu.entity.mysql.UserIdiomInfo;


public interface MessageService {
    int saveAuditMessage(long senderId, long recverId, int type, String data, String remark);
    int saveUserMessage(long senderId, long recverId, int type, String data);
    //用户聊天消息
    int sendUserMessage(long senderId, long recverId, int type, ChatPrivateData data, boolean push);
    int sendUserMessage(long senderId, long recverId, int type, ChatPrivateData data, String umid, boolean push);
    int sendUserMessage(long senderId, long[] recverId, int type, ChatPrivateData data, boolean push);

    //通话信令消息
    int sendCallMessage(long senderId, long recverId, int type, Object data);
    int sendCallMessage(long senderId, long[] recverId, int type, Object data);

    //系统消息
    int sendSystemMessage(long []recverId, int type, Object data);
    int sendSystemMessage(long recverId, int type, Object data);
    //离线推送
    int sendOfflineNotice(long []userId, String title, String content);
    int sendOfflineNotice(long userId, String title, String content);
    int sendOfflineNotice(long[] userId, String title, String content, String sound);
    int sendOfflineNotice(long userId, String title, String content, String sound);

    int getMessageRate(long senderId, long recverId);
    int delMessageRate(long senderId, long recverId);
    int ttlMessageRate(long senderId, long recverId);
    int addMessageRate(long senderId, long recverId);
    int decMessageRate(long senderId, long recverId);
    int addMessageCount(long senderId, long recverId);
    int ttlChatBanTime(long senderId);
    int addChatBanCount(long senderId);
    int setLastMessageMd5(long userId, String md5);
    int saveRepeatMessage(long senderId, long recverId, int type, long ts, String data, String md5);
    String getLastMessageMd5(long userId);

    int addIdiom(long userId, String content);
    int editIdiom(long userId, long id, String content);
    int delIdiom(long userId, long id);
    List<UserIdiomInfo> getIdiomList(long userId, int page);
}
